//	--------------------------------------------------------------------
//	Copyright(C) 2006,2007 Zhao Yukun. All rights reserved.
//	This file is a part of the Xeres system.
//	Xeres 2007
//	Contact : xeres.engine@gmail.com
//	$(reservedInfo)
//	$(reservedDeclaration)
//	--------------------------------------------------------------------
///	@file	<callback.h>
///	@path	~/src/engine/
///	@date	2007/11/05
///	@desc	Introduce boost.function as engine's callback.

#pragma once

#include "xeres.h"

// Use boost.function for advanced callback.

// __stdcall & __fastcall is useless under x64.
#if ( !defined _WIN64 ) || ( defined __ICL )
#	define BOOST_BIND_ENABLE_STDCALL		1
#	define	BOOST_MEM_FN_ENABLE_STDCALL		1
#	define	BOOST_BIND_ENABLE_FASTCALL		1
#	define BOOST_MEM_FN_ENABLE_FASTCALL		1
#endif

#include <boost/bind.hpp>
#include <boost/mem_fn.hpp>
#include <boost/function.hpp>

namespace xeres {

	using boost::function;
	using boost::bind;
	using boost::mem_fn;

	// FIXME: Should we consider any fast delegate library?

} // namespace xeres
